//
//  BMUsefulPickerView.h
//  bigmama
//
//  Created by huyuchen on 2017/8/14.
//  Copyright © 2017年 盛成文化. All rights reserved.
//

#import <UIKit/UIKit.h>
#import "BMSelectedTextField.h"


/**
 适用于按钮事件
 */
@interface BMUsefulPickerView : UIView

@property (strong, nonatomic, readonly)BMPickerViewToolBar *toolBar;

/**
 *  弹出显示单列数据的pickerView
 *
 *  @param toolBarText      提示文字
 *  @param data             数据 -- 数组(字符串)
 *  @param defaultIndex     默认选中index
 *  @param CancelBlock      取消操作
 *  @param clickBlock       完成操作
 */
+ (BMUsefulPickerView *)showSingleColPickerWithToolBarText:(NSString *)toolBarText data:(NSArray<NSString *> *)data defaultIndex:(NSInteger)defaultIndex toolBarStyle:(BMPickerViewToolBarStyle)toolBarStyle cancelBlock:(CancelBlock)CancelBlock clickBlock:(SingleClickBlock)clickBlock;


/**
 *  弹出显示多列不关联数据的pickerView
 *
 *  @param toolBarText      提示文字
 *  @param data             数据 -- 数组 注意格式  @[ @[@"1",...], @[], ... ]
 *  @param defaultIndexs    默认选中indexs
 *  @param CancelBlock      取消操作
 *  @param clickBlock       完成操作
 */
+ (BMUsefulPickerView *)showMultipleColPickerWithToolBarText:(NSString *)toolBarText defaultIndexs: (NSArray *)defaultIndexs data:(NSArray<NSArray<NSString *> *> *)data toolBarStyle:(BMPickerViewToolBarStyle)toolBarStyle cancelBlock:(CancelBlock)CancelBlock clickBlock:(MultipleClickBlock)clickBlock;


/**
 *  弹出显示多列关联数据的pickerView -- 联动
 *
 *  @param toolBarText      提示文字
 *  @param defaultValues    默认选中的每一列的值(关联)
 *  @param data             数据 -- 注意格式
 *  @param CancelBlock      取消操作
 *  @param clickBlock       完成操作
 */
+ (BMUsefulPickerView *)showMultipleAssociatedColPickerWithToolBarText:(NSString *)toolBarText withDefaultValues: (NSArray *)defaultValues data:(NSArray *)data toolBarStyle:(BMPickerViewToolBarStyle)toolBarStyle cancelBlock:(CancelBlock)CancelBlock clickBlock:(MultipleAssoCiatedClickBlock)clickBlock;


/**
 *  弹出日期选中器
 *
 *  @param toolBarText      提示文字
 *  @param style            定制日期的样式
 *  @param CancelBlock      取消操作
 *  @param clickBlock       完成操作
 *  @param changeBlock      值改变回调
 */
+ (BMUsefulPickerView *)showDatePickerWithToolBarText:(NSString *)toolBarText withStyle:(BMDatePickerViewStyle *)style toolBarStyle:(BMPickerViewToolBarStyle)toolBarStyle cancelBlock:(CancelBlock)CancelBlock clickBlock: (DateClickBlock)clickBlock valueChangeBlock:(DateDidChangedBlock)changeBlock;

@end
